//先进先出
#include "my_list.h"
#include <cassert>  //断言宏assert
template <typename T>
class my_queue
{
private:
    my_list<T> list;
public:
    void push(T val){
        list.push_back(val);
    }
    void pop(){
        assert(!list.empty());
        list.pop_front();
    }
    T& front(){ //查看队首元素
        assert(!list.empty());
        return list.front();
    }
    size_t size(){
        return list.size();
    }
    bool empty(){
        return list.empty();
    }

};